第一步 您所在的位置:网站首页 nestjs webpack打包问题 第一步

第一步

2024-07-04 00:50| 来源: 网络整理| 查看: 265

第一步

在这组文章中,您将学习 Nest的 “核心基础知识”。为了让您熟悉 Nest 应用程序的基本构建模块,我们将构建一个基本的 CRUD 应用程序,其涵盖了入门级别的很多功能。

编程语言​

我们爱上了 TypeScript,但是最重的是 - 我们热爱 Node.js。这就是为什么 Nest 同时兼容 TypeScript 和 纯 JavaScript 的原因。由于 Nest 利用了编程语言的最新功能,因此,要将其与原始的 JavaScript 一起使用,我们需要 Babel 编译器的协助。

我们将在提供的示例中主要使用 TypeScript,但您随时可以 将代码段切换为 纯 JavaScript 语法(只需单击每个代码片段右上角的语言切换按钮即可)。

先决条件​

请确保在您的操作系统上安装了 Node.js (>= 10.13.0,v13 除外)。

新建项目​

使用 Nest CLI 创建一个新项目非常简单。如果已经安装了 npm,您可以在操作系统终端(或命令行)中使用以下命令创建一个新的 Nest 项目:

$ npm i -g @nestjs/cli$ nest new project-name

将创建 project 木、安装 node 模块和其它一些模板文件,同时还将创建 src/ 目录,并填充几个核心文件。

srcapp.controller.tsapp.controller.spec.tsapp.module.tsapp.service.tsmain.ts

以下是这些核心文件的简要概述:

app.controller.ts带有单个路由的基本控制器。app.controller.spec.ts针对控制器的单元测试。app.module.tsT应用程序的根模块(root module)。app.service.ts具有单一方法的基本服务(service)。 method.main.ts应用程序的入口文件,它使用核心函数 NestFactory 来创建 Nest 应用程序的实例。

main.ts 文件中包含了一个异步函数,此函数将 引导(bootstrap) 应用程序的启动过程:

@@filename(main)import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000);}bootstrap();@@switchimport { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000);}bootstrap();

要创建一个 Nest 应用程序的实例,我们使用了 NestFactory 核心类。NestFactory 暴露了一些静态方法用于创建应用程序的实例。其中,create() 方法返回一个应用程序的对象,该对象实现了 INestApplication 接口。该对象还提供了一组方法,这些方法将在接下来的章节中进行介绍。在上面的 main.ts 示例中,我们仅启动了 HTTP 侦听器,该侦听器使应用程序可以侦听入栈的 HTTP 请求。

请注意,使用 Nest CLI 创建的项目会拥有一个初始的项目结构,以鼓励开发人员将每个模块保存在其专用目录中。

平台​

Nest 的目标是成为一个与平台无关的框架。平台独立性使创建可重用的逻辑部分成为可能,开发人员可以在多种不同类型的应用程序中利用这些逻辑部分。 从技术上讲,一旦创建了适配器,Nest 便可以使用任何 Node HTTP 框架。 目前支持两个 HTTP 平台:express 和 fastify。 您可以根据您的需求选择最适合平台。

platform-expressExpress 是一个著名的、极简的、专为 node 开发的 web 框架。它久经考验、适用于生产环境的软件库,并且拥有大量的社区资源。默认情况下使用 @nestjs/platform-express 软件包。许多用户对 Express 都很满意,并且无需采取任何操作即可启用它。platform-fastifyFastify 是一个高性能且低开销的框架,高度专注于提供最高的效率和速度。点击 这里 查看它的使用文档。

无论使用那个平台,都会将平台的 application 接口暴露出来。它们分别是 NestExpressApplication 和 NestFastifyApplication。

当您将类型信息传递给 NestFactory.create() 方法时,如下例所示,app 对象将具有该特定平台的专用方法。但是请注意,除非 您确实需要访问底层平台的 API,否则 无需 指定平台类型。

const app = await NestFactory.create(AppModule);运行应用程序​

安装过程完成后,您可以在操作系统的命令提示符下运行以下命令,以启动应用程序以侦听进入的 HTTP 请求:

$ npm run start

此命令将使用 HTTP 服务器启动应用程序,以侦听 src/main.ts 文件中所定义的端口。应用程序运行后,打开浏览器并访问 http://localhost:3000/ 地址,您将看到类似 Hello World! 的信息。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有